The present invention relates to a method for processing a data base, especially a relational data base.
In a relational data base, data is managed conceptually in the form of tables. If we arrange the physical storage into the style of a table, however, operations such as insertion or deletion of data become more difficult. Therefore, according to the prior art, as shown by a publication entitled "An Introduction to Database System" written by C. J. Date, pp. 171-179, data elements are dividedly stored within unit areas, each called a page, so that each page includes plural data elements, and in each page there are included pointers which point to a location of a data element. This style of storage of data is suited for insertion or deletion of data elements, but is does not suit fast processing by means of hardware, such as a vector data processor, which processes a large amount of data as a group by a pipeline method. That is, it is necessary in general to provide a large number of data elements to be processed to an arithmetic or logic operation unit (ALU) with as small a time pitch as possible, but it is difficult to do so for data stored with the aforementioned page style. The reasons are as follows.
In a pipelined processor, data elements are fetched in advance of execution of an operation on the data elements by successively generating the addresses of the data elements to be fetched within a data storage, in advance of the execution of the operation, so that data elements are successively supplied to an ALU with a small time pitch. For example, in a vector data processor, vector data elements to be processed are stored at storage locations each with a predetermined address difference from its neighboring location. Therefore, it is possible to successively decode addresses of all vector elements with a small time pitch, based upon only the address of the first vector element and the address difference or displacement between elements. According to the prior art relating to page type data, data elements are not spaced with a constant address difference. Therefore, it is difficult to successively generate the addresses of all vector elements with a small time pitch. Therefore, it is difficult to successively provide data elements to a pipelined ALU with a short time period.